/*
 * (C) 2012	Sheng Yi
 * translate signal to a literal string
 */
#include <signal.h>
#include <string.h>
#include <stdio.h>
#include <stdlib.h>

#define	LEGAL(signo)	((signo) > 0 && (signo) <= 32)
// extern char *sys_siglist[];

int sig2str(int signo, char *str)
{
	if (!LEGAL(signo))
		return (-1);
	/* ervery signal starts with SIG */
	strcpy(str, sys_siglist[signo]);

	return 0;
}


int main()
{
	char line[1024];
	int signo;
	signo = 2;
	for (signo = 1; signo < 32; signo++)
	{
		if (sig2str(signo, line) != 0)
		{
			printf("sig2str error\n");
			exit(0);
		}
		printf("%d:  %s\n", signo, line);
	}

	exit(0);
}
